package com.xoa.controller.hr.hrEvaluate;

import com.xoa.model.hr.hrEvaluate.HrEvaluatePrivWithBLOBs;
import com.xoa.model.users.Users;
import com.xoa.service.hr.hrEvaluate.HrEvaluatePrivService;
import com.xoa.util.CookiesUtil;
import com.xoa.util.ToJson;
import com.xoa.util.common.session.SessionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

@Controller
@RequestMapping("HrEvaluatePriv")
public class HrEvaluatePrivController {

    @Autowired
    private HrEvaluatePrivService hrEvaluatePrivService;

    @RequestMapping("/index")
    public String index(){
        return "/app/hr/HrEvaluatePriv/index";
    }


    /**
     * 作者 廉立深
     * 日期 2020/8/20
     * 方法介绍  查询谁谁有评论权限   返回当前登陆人可以评论的人
     * 参数 [request]
     * 返回 com.xoa.util.ToJson
     **/
    @RequestMapping("/findIsUserPriv")
    @ResponseBody
    public ToJson findIsUserPriv(HttpServletRequest request){
        ToJson toJson = new ToJson(1,"false");
        try {
            Cookie redisSessionCookie = CookiesUtil.getCookieByName(request, "redisSessionId");
            Users user= SessionUtils.getSessionInfo(request.getSession(), Users.class, new Users(),redisSessionCookie);
            Map map = new HashMap();
            map.put("viewOrEvaluateUsers", user.getUserId());
            map.put("privType", '2');
            toJson.setObject(hrEvaluatePrivService.isUserPriv(map));
            toJson.setId(user.getUserId());
            toJson.setMsg("ok");
            toJson.setFlag(0);
        }catch (Exception e){
            e.printStackTrace();
            toJson.setMsg(e.getMessage());
        }
        return toJson;
    }


    /**
     * 作者 廉立深
     * 日期 2020/8/19
     * 方法介绍  列表查询方法
     * 参数 [request, hrEvaluatePrivWithBLOBs]
     * 返回 com.xoa.util.ToJson
     **/
    @RequestMapping("/findHrEvaluatePriv")
    @ResponseBody
    public ToJson findHrEvaluatePriv(HttpServletRequest request , HrEvaluatePrivWithBLOBs hrEvaluatePrivWithBLOBs){
        return hrEvaluatePrivService.findHrEvaluatePriv(request,hrEvaluatePrivWithBLOBs);
    }

    /**
     * 作者 廉立深
     * 日期 2020/8/19
     * 方法介绍  新增方法
     * 参数 [request, hrEvaluatePrivWithBLOBs]
     * 返回 com.xoa.util.ToJson
     **/
    @RequestMapping("/insertHrEvaluatePriv")
    @ResponseBody
    public ToJson insertHrEvaluatePriv(HttpServletRequest request , HrEvaluatePrivWithBLOBs hrEvaluatePrivWithBLOBs){
        return hrEvaluatePrivService.insertHrEvaluatePriv(request,hrEvaluatePrivWithBLOBs);
    }

    /**
     * 作者 廉立深
     * 日期 2020/8/19
     * 方法介绍  编辑方法
     * 参数 [request, hrEvaluatePrivWithBLOBs]
     * 返回 com.xoa.util.ToJson
     **/
    @RequestMapping("/editEvaluatePriv")
    @ResponseBody
    public ToJson editEvaluatePriv(HttpServletRequest request , HrEvaluatePrivWithBLOBs hrEvaluatePrivWithBLOBs){
        return hrEvaluatePrivService.editEvaluatePriv(request,hrEvaluatePrivWithBLOBs);
    }

    /**
     * 作者 廉立深
     * 日期 2020/8/19
     * 方法介绍  删除接口
     * 参数 [request, hrEvaluatePrivWithBLOBs]
     * 返回 com.xoa.util.ToJson
     **/
    @RequestMapping("/delEvaluatePriv")
    @ResponseBody
    public ToJson delEvaluatePriv(HttpServletRequest request , HrEvaluatePrivWithBLOBs hrEvaluatePrivWithBLOBs){
        return hrEvaluatePrivService.delEvaluatePriv(request,hrEvaluatePrivWithBLOBs);
    }





}
